#pragma once
#include "common.hpp"

class client
{

public:
    client():_fd(defualtFd)
    {
        openPipeForWrite(gForWrite);
    }
    ~client()
    {
    }

    
    void closePipe()
    {
        closePipeHelper(_fd);
    }

    // zdl:: 现在先来说名一些编程技巧，现在哦我们传入的是指针额外就说明这个是
    // 说明这个是输出型参数！ 为& 则说明这个是输入型参数
    int sendPipe(std::string &in)
    {
        return ::write(_fd, in.c_str(), in.size());
    }
    bool openPipeForWrite(int flag)
    {
        _fd = ::open(gpipeFile.c_str(), flag);
        if (_fd < 0)
        {
            return false;
        }
        return true;
    }
private:
    int _fd;
};